import {server_config} from "../config/config";
import {promisic} from "./util"

class Http {
    /**
     * 网络请求,参考"https://course.7yue.pro/lin/sleeve/3%20API%EF%BC%9ABanner.html#banner"中的Api清单Theme专题一栏
     * 使用wx.request时，当method为GET:
     * 形如url: 'http://se.7yue.pro/v1/theme/by/names?names=t-1'
     * 可以再加一个data参数的Object对象将会附加到url的"?"后面。
     * 即 data: {names:'t-1'} => "?names=t-1"
     * 当method为POST:
     * data参数的Object对象将作为post的body提交到请求当中.并不会附加到url的"?"后面.
     *
     * 请求成功之后，使用success(res){}来
     * 将url, data, callback, method = 'GET'包装成对象来进行传参做法
     * {url, data, callback, method = 'GET'}
     * 使用的是{}来进行包裹一层即可
     */

    static async request({url, data, method = 'GET'}) {
        return await promisic(wx.request)({
            //拼接方式${}取出字串
            url: `${server_config.apiBaseUri}${url}`,
            data,
            method,
            header: {
                appkey: server_config.appKey
            }
        })
        /*await util.Promisic(wx.request)({
            //拼接方式${}取出字串
            url: `${server_config.apiBaseUri}${url}`,
            data,
            method,
            header: {
                appkey: server_config.appKey
            }
        });*/

        /*wx.request({
            //拼接方式${}取出字串
            url: `${server_config.apiBaseUri}${url}`,
            data,
            method,
            header: {
                appkey: server_config.appKey
            },
            success(res) {
                callback(res)
            }
        });*/
    }
}

export {
    Http
}